1. Technical Field
This invention generally relates to a display control application for use in a computer having a video display system operating in a Windows OS environment, and more particularly, to a method and apparatus that allows the user of a computer having a monochrome video display screen to determine quickly whether or not the gray scale level representing a selected color is being displayed on the screen, and pinpoint just where on the screen it is being displayed. The user may then immediately adjust the gray scale level as desired.
2. Description Of The Relevant Art
In a conventional computer system designed to utilize a visual color display capable of displaying various hues and luminances, application programs executing on the computer send signals to a graphics display adapter indicating what should be displayed and in what color, and the display adapter then sends signals to the display so that the appropriate items are displayed to the user with the appropriate colors. Various types of display adapters currently exist which are capable of displaying graphical images on displays with varying resolution and color possibilities. Examples of such display adapters include those which are compatible with industry standard protocols, such as EGA, VGA, 8514A, etc.
With any such display adapter, an application program executing on the computer system either directly or indirectly sends signals to the display adapter representing color values to be displayed on the display. In most cases, these signals correspond to color palette registers stored within the display adapter. The colors that the program may use at any one time are represented by values stored within the color palette registers. Specifically, each color palette register stores a value corresponding to one of a large number of available colors for the display adapter. Subsequently, when the program wishes to use that color, the program references the particular color palette register where that color is stored. In this way, while the maximum number of colors that can be displayed at one time is limited by the number of color palette registers, the subset of colors that can be used at any one time may be chosen from a palette of a large number of colors.
For example, assuming that there exist 16 color palette registers and 256,000 different color combinations, any one of the 256,000 colors may be utilized by placing its value in one of the color palette registers. This is true for all 16 registers, so that when the application is run, it can utilize any of the up to 16 different colors chosen from the palette of 256,000 colors at the same time. Therefore, while all 256,000 colors cannot be displayed at the same time, a manageable subset of 16 can. Currently, some computers utilize 64 color palette registers to manage a subset of 64 different colors.
A problem arises when such a display adapter is used with a non-color or monochrome display, such as a monochrome liquid crystal display (LCD) or gas plasma display, because the intended colors stored within the color palette registers obviously cannot be displayed properly on the non-color display. For example, the gas plasma displays are only capable of displaying their characteristic orange shades, while the LCD's can display blue shades on green or white shades on black, Because the hardware these displays are emulating intend to show true colors, the plasma displays and the LCD's must logically map the intended colors to differing levels of the "color" that the monochrome display is capable of showing. In the plasma displays, colors are mapped to differing levels of orange, and on the LCD's, the intended colors are mapped to shades of white or blue depending upon the characteristics of the LCD.
The mapping of actual colors to particular shades of a color is known as "gray scaling." Each color is assigned a particular level of "gray" so that it remains distinguishable from the other colors, as it would if it were being shown in its true form. For example, the "color" black may be regularly assigned the highest gray scale level (15) so that it appears as black, while bright white may be usually assigned to the lowest gray scale level (0), so that it appears much the same way that it does on a color display.
In order for this mapping to take place, some display adapters, such as those found in Toshiba or other companies' personal computers, utilize "gray scale palette registers" (also referred to as translation palette registers) that contain the new output values to be used in place of the values stored within the color palette registers. For each color palette register, there exists one gray scale palette register that contains a value to be used when determining what color or luminance level actually to display. Special hardware within the display adapter makes changes to the color signals, just before they are displayed, based upon the contents of the gray scale palette registers.
To illustrate, assume that an application program wishes to display a blue box on the attached display screen. First, the value representing the color blue may be stored in color palette register 1. When the application wishes to draw the box, it sends a signal to the display adapter that references the value stored within color palette register 1. If a color display is connected to the display adapter, the display adapter will then send corresponding signals to the color display to draw the desired box on the screen.
However, if a non-color display is connected to the display adapter that is capable of displaying gray scales, such as a monochrome LCD screen, the display of these "colors" as different levels of gray takes additional steps. In addition to the value for the color blue being stored in color palette register 1, a value corresponding to a specific gray scale level (for example 3) may be stored in gray scale palette register 1, which may be selected to correspond to color palette register 1. Thereafter, when the application program sends signals to the display adapter to display the blue box, a box having a gray scale corresponding to the gray scale value stored in gray scale palette register 1 (namely 3) is drawn on the monochrome LCD (or plasma) screen.
If the user of an application program were to change the contents of gray scale palette register No. 1 from 3 to 7, that program would display the blue box with gray scale level 7. Similarly, the other gray scale palette registers, corresponding to the associated color palette registers, could be changed to various values representing the desired gray scale level for the particular color.
As can be seen, the color palette registers and gray scale palette registers will always operate independently from one another. In other words, if the value in a gray scale palette register is changed, only the translation of the associated color in the color palette register will be affected, but the actual color as displayed on a color monitor would not be changed. Specifically, although the true color of the box may be blue, the user may designate the color blue to be displayed as gray scale level 3 on the monochrome LCD screen.
Different application programs display different color schemes while operating. Consequently, when gray scales are being utilized for a monochrome LCD screen, the values stored within the gray scale registers in use while executing one program might not be visually appealing during the execution of another program. For example, assume that a first application program utilizes the colors red and blue in color palette registers 1 and 2, respectively. Also assume that the corresponding gray scale palette registers 1 and 2 store the values 7 and 8, respectively, corresponding to gray scale levels 7 and 8, as set by the user of the computer system. If the first application program never displays the colors red and blue in close proximity to each other on the screen, then the corresponding gray scale values 7 and 8 (which may be visually indistinguishable if shown next to each other) stored within gray scale palette registers 1 and 2 will not be displayed near each other, However, if a second application program is then invoked which attempts to display the same two colors next to each other, then the visual output on the monochrome LCD screen would have gray scale levels 7 and 8 appearing next m each other on the screen. For a particular user, the effect of seeing gray scale levels 7 and 8 displayed next to each other may not be appealing if there is insufficient contrast between the two levels which causes difficulty in distinguishing between them. Such a user may prefer more contrast between gray scales displayed next to each other.
A deficiency which exists when a color applications program is utilized with a non-color display, such as a monochrome LCD screen, is that several gray scale levels may be generated simultaneously, throughout the range of possible values, to drive the display. Unfortunately, given such a circumstance, the user may be unable to look at the display and determine just what shade of gray relates to a particular color. Also, some shades of gray may not be discernible because there is a decided lack of contrast between those shades shown on the screen. Currently, the user must go through a time-consuming process of adjusting the intensity of each gray scale level, in order to see just what shade of gray varies on the screen.
One method used to adjust the intensity of a gray scale mapping on a monochrome LCD screen is to display a "window" containing the 16 (or 64) shaded areas and related scroll bars. The user may adjust the intensity of each shaded area in the "window," using the appropriate scroll bar. However, using this method, it is still difficult for the user to correlate a particular gray scale level in the "window" with the same gray scale level displayed elsewhere on the screen.
Techniques for mapping color images into gray scales using "windows" on monochrome LCD screens are well-known. For example, U.S. Pat. No. 5,153,577 to Mackey et al discloses an emulator that maps foreground colors and background colors into gray pixel patterns for display. Each background color is mapped into a respective gray pattern, while the foreground colors are mapped to three pixel patterns--white, 50% gray, and black. The color images are emulated for use in a monochrome display. Control over the display is provided by accessing an icon for text inside a window.
U.S. Pat. No. 5,148,518 to Inoue discloses a flat panel LCD monochrome display and a digital circuit that converts color coded data to gradation coded data having constant intervals. The gradation coded data then contains differences in gray levels similar to the differences in the color coded data. Thus, the color coded data is adaptable for use with a monochrome display.
Nevertheless, neither the above-described patents nor any conventional LCD (or plasma) monochrome displays currently allow a user to "find" a particular color on the monochrome screen, interactively change the gray scale level associated with that particular color from within a "window," and immediately see the effects of such a change on the rest of the screen. The present invention is designed to accomplish such a function by providing a "Color Finder" feature for use in a Windows environment for a monochrome LCD (or plasma display) screen, which will be discussed below.